﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace AplicacionUrHardwarez
{
    
    public partial class formProductoDetalle : Form
    {
        AlmacenEntities productosContext;
        formProductos formularioProductos = new formProductos();
        
        public formProductoDetalle()
        {
            InitializeComponent();
        }

            
        // public Guid recibirId2
        //{
        //    get { return lblGuidProd.Text }
        //    set { var guido = value; }
        //}

        public string recibirId
        {
            get { return lblIdProducto.Text; }
            set { lblIdProducto.Text = value; }
        }

        public string recibirNombre
        {
            get { return lblNombreProducto.Text; }
            set { lblNombreProducto.Text = value; }
        }

        private void formProductoDetalle_Load(object sender, EventArgs e)
        {
           this.gridSalidas.DefaultCellStyle.BackColor = Color.Black;
            this.gridSalidas.DefaultCellStyle.ForeColor = Color.Yellow;
            this.gridSalidas.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            this.gridSalidas.MultiSelect = false;
            this.gridSalidas.ReadOnly = false;
            this.gridSalidas.RowHeadersVisible = false;

            this.gridEntradas.DefaultCellStyle.BackColor = Color.Black;
            this.gridEntradas.DefaultCellStyle.ForeColor = Color.Yellow;
            this.gridEntradas.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
            this.gridEntradas.MultiSelect = false;
            this.gridEntradas.ReadOnly = false;
            this.gridEntradas.RowHeadersVisible = false;




            try //Rellenar el datagrid con los datos obtenidos en la bbdd
            {
                using (AlmacenEntities productosContext =
                             new AlmacenEntities())
                {

                    Guid obtenerGuid = new Guid(lblIdProducto.Text);


                    var entradasQuery = (from en in productosContext.Entradas
                                         where en.IdProducto == obtenerGuid
                                         select new { en.Fecha, en.StockIn }).ToList(); ;
                    gridEntradas.DataSource = entradasQuery;
                    gridEntradas.ClearSelection();

                    var salidasQuery = (from s in productosContext.Salidas
                                        where s.IdProducto == obtenerGuid
                                        select new { s.Fecha, s.StockOut }).ToList();
                    gridSalidas.DataSource = salidasQuery;
                    gridSalidas.ClearSelection();
                }
            }
            catch
            {
                MessageBox.Show("No se puede conectar con la base de datos");
            }

          }
        
    
        //volver a productos
        private void button1_Click(object sender, EventArgs e)
        {
            AlmacenEntities productosContext = new AlmacenEntities();
            //formProductos formularioProductos = new formProductos();
            formularioProductos.Visible = true;
            this.Visible = false;
            formularioProductos.Location = this.Location;
            //productosContext.Dispose();
        }

        private void btnRegistroEntrada_Click(object sender, EventArgs e)
        {

        }

        private void btnRegistroSalida_Click(object sender, EventArgs e)
        {
            formModSalida formRegistroSalida = new formModSalida();
            

            // Recogemos los datos del click del usuario en el datagrid
            int i;
            i = gridSalidas.SelectedCells[0].RowIndex;
            formRegistroSalida.recibirFecha = gridSalidas.Rows[i].Cells[0].Value.ToString();
            formRegistroSalida.recibirSalidas = gridSalidas.Rows[i].Cells[1].Value.ToString();
            formRegistroSalida.recibirId = lblIdProducto.Text;
           
            //Abrir formulario para modificar el valor de salida
            formRegistroSalida.Visible = true;
            this.Visible = false;
            formRegistroSalida.Location = this.Location;


        }
    }
}



 